package cn.com.generaldata.os.exportpojo;

import java.util.Date;

import com.sun.xml.internal.bind.CycleRecoverable;

/**
 * 报表类型实体
 */
public class ReportType implements java.io.Serializable, CycleRecoverable {
	private static final long serialVersionUID = 5454155825314635342L;

	private String id;
	private String typeName;
	private Integer directProvince;//直报省级
	private String typeNo;
	private String typeCode;
	private Integer statSystem;
	private Integer sortNo;
	private Integer subSortNo;
	private Integer reportUnitType;
	private Integer typeReportAdmin;
	private Integer typeApproveAdmin;
	private String typeApproveNo;
	private String typeExpireDate;
	private String typeMeasureUnit;
	private Integer typeLastTime;
	private String typeYearTime;
	private String typeTime;
	private Integer dataType;// 1指标汇总2行式报表
	private String masterColumn;
	private Integer versionId;
	private String prevVersionId;
	private String template;
	private String remark;
	private Integer time_limit;
	private Integer dataSummarization;// 1表示需要进行汇总0不用汇总

	public Integer getDirectProvince() {
		return directProvince;
	}

	public void setDirectProvince(Integer directProvince) {
		this.directProvince = directProvince;
	}

	public Integer getSortNo() {
		return sortNo;
	}

	public void setSortNo(Integer sortNo) {
		this.sortNo = sortNo;
	}

	public Integer getSubSortNo() {
		return subSortNo;
	}

	public void setSubSortNo(Integer subSortNo) {
		this.subSortNo = subSortNo;
	}

	public Integer getDataSummarization() {
		return dataSummarization;
	}

	public void setDataSummarization(Integer dataSummarization) {
		this.dataSummarization = dataSummarization;
	}

	public String getPrevVersionId() {
		return prevVersionId;
	}

	public void setPrevVersionId(String prevVersionId) {
		this.prevVersionId = prevVersionId;
	}

	public Integer getTime_limit() {
		return time_limit;
	}

	public void setTime_limit(Integer time_limit) {
		this.time_limit = time_limit;
	}

	/**
	 * 解决CXF循环引用问题.
	 * 
	 * @param arg0
	 * @return
	 */
	@Override
	public Object onCycleDetected(Context arg0) {
		ReportType temp = new ReportType();
		temp.setId(id);
		return temp;
	}

	public Integer getReportUnitType() {
		return reportUnitType;
	}

	public void setReportUnitType(Integer reportUnitType) {
		this.reportUnitType = reportUnitType;
	}

	public String getMasterColumn() {
		return masterColumn;
	}

	public void setMasterColumn(String masterColumn) {
		this.masterColumn = masterColumn;
	}

	public String getTemplate() {
		return template;
	}

	public void setTemplate(String template) {
		this.template = template;
	}

	public ReportType() {
		super();
	}

	/**
	 * 创建时间 db_column: create_time
	 */
	private Date createTime;

	public ReportType(String id, String typeName, String typeNo, String typeCode, Integer statSystem,
			Integer reportUnitType, Integer typeReportAdmin, Integer typeApproveAdmin, String typeApproveNo,
			String typeExpireDate, String typeMeasureUnit, Integer typeLastTime, String typeYearTime, String typeTime,
			Integer dataType, String masterColumn, Integer versionId, String template, String remark, Date createTime,
			Date lastUpdate) {
		super();
		this.id = id;
		this.typeName = typeName;
		this.typeNo = typeNo;
		this.typeCode = typeCode;
		this.statSystem = statSystem;
		this.reportUnitType = reportUnitType;
		this.typeReportAdmin = typeReportAdmin;
		this.typeApproveAdmin = typeApproveAdmin;
		this.typeApproveNo = typeApproveNo;
		this.typeExpireDate = typeExpireDate;
		this.typeMeasureUnit = typeMeasureUnit;
		this.typeLastTime = typeLastTime;
		this.typeYearTime = typeYearTime;
		this.typeTime = typeTime;
		this.dataType = dataType;
		this.masterColumn = masterColumn;
		this.versionId = versionId;
		this.template = template;
		this.remark = remark;
		this.createTime = createTime;
		this.lastUpdate = lastUpdate;
	}

	/**
	 * 最后修改时间 db_column: last_update
	 */
	private Date lastUpdate;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getTypeName() {
		return typeName;
	}

	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}

	public String getTypeNo() {
		return typeNo;
	}

	public void setTypeNo(String typeNo) {
		this.typeNo = typeNo;
	}

	public String getTypeCode() {
		return typeCode;
	}

	public void setTypeCode(String typeCode) {
		this.typeCode = typeCode;
	}

	public Integer getStatSystem() {
		return statSystem;
	}

	public void setStatSystem(Integer statSystem) {
		this.statSystem = statSystem;
	}

	public Integer getTypeReportAdmin() {
		return typeReportAdmin;
	}

	public void setTypeReportAdmin(Integer typeReportAdmin) {
		this.typeReportAdmin = typeReportAdmin;
	}

	public Integer getTypeApproveAdmin() {
		return typeApproveAdmin;
	}

	public void setTypeApproveAdmin(Integer typeApproveAdmin) {
		this.typeApproveAdmin = typeApproveAdmin;
	}

	public String getTypeApproveNo() {
		return typeApproveNo;
	}

	public void setTypeApproveNo(String typeApproveNo) {
		this.typeApproveNo = typeApproveNo;
	}

	public String getTypeExpireDate() {
		return typeExpireDate;
	}

	public void setTypeExpireDate(String typeExpireDate) {
		this.typeExpireDate = typeExpireDate;
	}

	public String getTypeMeasureUnit() {
		return typeMeasureUnit;
	}

	public void setTypeMeasureUnit(String typeMeasureUnit) {
		this.typeMeasureUnit = typeMeasureUnit;
	}

	public Integer getTypeLastTime() {
		return typeLastTime;
	}

	public void setTypeLastTime(Integer typeLastTime) {
		this.typeLastTime = typeLastTime;
	}

	public String getTypeYearTime() {
		return typeYearTime;
	}

	public void setTypeYearTime(String typeYearTime) {
		this.typeYearTime = typeYearTime;
	}

	public String getTypeTime() {
		return typeTime;
	}

	public void setTypeTime(String typeTime) {
		this.typeTime = typeTime;
	}

	public Integer getDataType() {
		return dataType;
	}

	public void setDataType(Integer dataType) {
		this.dataType = dataType;
	}

	public Integer getVersionId() {
		return versionId;
	}

	public void setVersionId(Integer versionId) {
		this.versionId = versionId;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getLastUpdate() {
		return lastUpdate;
	}

	public void setLastUpdate(Date lastUpdate) {
		this.lastUpdate = lastUpdate;
	}

}
